Telegram Group & Telegram Channel
🔰 How to: как сделать логические выражения в Python читаемыми

Длинные логические выражения — бич читаемости. Вот простой пример:
if user["verified"] and event["date"] > datetime.now() and not event["full"]:
print("Here's the event signup form...")


Выглядит компактно, но читается не очень. Есть несколько способов сделать лучше.

📝 Разбивка по строкам с операторами в начале
if (user["verified"]
and event["date"] > datetime.now()
and not event["full"]):
print("Here's the event signup form...")


PEP8 рекомендует именно такой стиль — с операторами (and, or) в начале строки.

📝 Использование переменных для подвыражений
user_is_verified = user["verified"]
event_in_future = event["date"] > datetime.now()
event_not_full = not event["full"]

if user_is_verified and event_in_future and event_not_full:
print("Here's the event signup form...")


Такой подход улучшает понимание выражения до того, как вы вчитываетесь в детали.

📝 Использование функций вместо переменных
def is_verified(user): return user["verified"]
def in_future(event): return event["date"] > datetime.now()
def not_full(event): return not event["full"]

if is_verified(user) and in_future(event) and not_full(event):
print("Here's the event signup form...")


Функции полезны, если важно сохранить short-circuit поведение (когда выражения дальше не выполняются, если результат уже ясен).

📝 Закон де Моргана для упрощения условий

Если видите выражение вида not (a or b) — можно применить трансформацию:
# Было:
not (a or b)

# Стало:
not a and not b


Пример:
def can_only_read(user):
return not (
user["role"] == "admin"
or "edit" in user["permissions"]
)


Упростим по де Моргану:
def can_only_read(user):
return user["role"] != "admin" and "edit" not in user["permissions"]


Теперь читается проще и интуитивнее.

Вывод: не бойтесь разбивать выражения, давать им имена и упрощать через логические законы. Код должен быть понятным не только компьютеру, но и людям.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/pyproglib/6693
Create:
Last Update:

🔰 How to: как сделать логические выражения в Python читаемыми

Длинные логические выражения — бич читаемости. Вот простой пример:

if user["verified"] and event["date"] > datetime.now() and not event["full"]:
print("Here's the event signup form...")


Выглядит компактно, но читается не очень. Есть несколько способов сделать лучше.

📝 Разбивка по строкам с операторами в начале
if (user["verified"]
and event["date"] > datetime.now()
and not event["full"]):
print("Here's the event signup form...")


PEP8 рекомендует именно такой стиль — с операторами (and, or) в начале строки.

📝 Использование переменных для подвыражений
user_is_verified = user["verified"]
event_in_future = event["date"] > datetime.now()
event_not_full = not event["full"]

if user_is_verified and event_in_future and event_not_full:
print("Here's the event signup form...")


Такой подход улучшает понимание выражения до того, как вы вчитываетесь в детали.

📝 Использование функций вместо переменных
def is_verified(user): return user["verified"]
def in_future(event): return event["date"] > datetime.now()
def not_full(event): return not event["full"]

if is_verified(user) and in_future(event) and not_full(event):
print("Here's the event signup form...")


Функции полезны, если важно сохранить short-circuit поведение (когда выражения дальше не выполняются, если результат уже ясен).

📝 Закон де Моргана для упрощения условий

Если видите выражение вида not (a or b) — можно применить трансформацию:
# Было:
not (a or b)

# Стало:
not a and not b


Пример:
def can_only_read(user):
return not (
user["role"] == "admin"
or "edit" in user["permissions"]
)


Упростим по де Моргану:
def can_only_read(user):
return user["role"] != "admin" and "edit" not in user["permissions"]


Теперь читается проще и интуитивнее.

Вывод: не бойтесь разбивать выражения, давать им имена и упрощать через логические законы. Код должен быть понятным не только компьютеру, но и людям.

Библиотека питониста #буст

BY Библиотека питониста | Python, Django, Flask




Share with your friend now:
tg-me.com/pyproglib/6693

View MORE
Open in Telegram


Библиотека питониста | Python Django Flask Telegram | DID YOU KNOW?

Date: |

Look for Channels Online

You guessed it – the internet is your friend. A good place to start looking for Telegram channels is Reddit. This is one of the biggest sites on the internet, with millions of communities, including those from Telegram.Then, you can search one of the many dedicated websites for Telegram channel searching. One of them is telegram-group.com. This website has many categories and a really simple user interface. Another great site is telegram channels.me. It has even more channels than the previous one, and an even better user experience.These are just some of the many available websites. You can look them up online if you’re not satisfied with these two. All of these sites list only public channels. If you want to join a private channel, you’ll have to ask one of its members to invite you.

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

Библиотека питониста | Python Django Flask from tw


Telegram Библиотека питониста | Python, Django, Flask
FROM USA